The present invention relates to a resource granting process in a system comprising autonomous data processing units, as well as to a device for performing this process.
Within the scope of the invention, the term "data processing unit" is to be understood in its most general sense. Systems incorporating such units can, as non-limiting examples, be automatons such as programmed digital machine tools incorporating units performing specific tasks, regulating systems such as road traffic regulating systems incorporating peripheral units and geographically remote processors or, in more conventional manner, information systems. In all these systems, there are numerous problems of interaction between the various units. Particularly when two or more units are in competition to obtain access to the same resource, this type of conflict must be resolved in an optimum manner. For information purposes, it is pointed out that in an information system having several processors, a central data base can be an example of such a resource which is available to several autonomous processors.
Thus, in numerous applications, there is a need is to have a high-performance, flexible resource granting process and device. This process and device must satisfy numerous criteria. For example, they must permit parallel operation of specialized units or permit the joint use of units of different technologies and/or families, particularly those having asynchronous operating cycles. Another important condition to be satisfied is the harmonious adaptation of each unit to the overall workload of the system, while also taking into account the local features of each unit. The process and device must also permit a change in the configuration of the system, e.g. its expandability, without necessitating large-scale modifications.
Finally, the system must have a maximum reliability, i.e. a defective unit must not influence the operation of the other units. In particular a defective unit must not prevent access to the common resource by the operating units. In more general terms, the system must operate reliably and all interference problems must be eliminated.
Numerous resource granting processes are known and generally they incorporate procedures for allocating a priority level to the competing units. These known processes permit a granting of resources as a function of priorities which have been allocated on a fixed hierarchical basis or according to a cyclic time-based allocation, under centralized control.
In connection with the aforementioned information systems, it is standard practice to use bus-type connecting means between the units. These buses constitute particularly interesting examples of resources made available to several data processing units and for which access conflicts must be resolved by a bus management device.
For this type of application, more flexible resource granting processes have been proposed. These processes involve dynamic priority allocation procedures or procedures involving the exchange of a sequence of messages of the hand-shake type. Processes of these types are described in French Patent Application Nos. 2,179,031 and 2,376,464. Although they introduce a greater degree of decentralization in making the decision to grant a resource, these processes still require a centralized controller to ensure good performance. The central controller may either be one of the processors connected to the bus or a specialized unit known under several different names such as bus monitor or bus arbitrator.